VScode下Python程序接收命令行参数的运行和调试

您所在的位置:网站首页 命令行执行python 如何传参数 VScode下Python程序接收命令行参数的运行和调试

VScode下Python程序接收命令行参数的运行和调试

2024-07-08 18:18| 来源: 网络整理| 查看: 265

使用VsCode进行python代码调试参数(args)添加方法 win10环境下python接收命令行传递的参数以及cmd切换目录

运行代码: F:\spiders4cxq\bilibili\download_vip_video\test.py

import sys # python test.py 55 44 88 if __name__=='__main__': n = int(sys.argv[1])#从命令行读取一个参数赋给n,是str类型所以需要转换成int型 m = int(sys.argv[2]) print("打印输出接收的参数:") print('\t类型:',type(sys.argv),'\n\t值:', sys.argv) print("$$$$$$$$$$") print(sys.argv[0]) print(sys.argv[-1]) print("##########") print(n+m) print("**********") for item in sys.argv: print(type(item)) # python test.py 11111 22222 88888 ''' "args": ["11111","22222","88888"] ''' 运行方式: Ctrl+Shift+` 新打开Terminal窗口, 输入命令: python test.py 11111 22222 88888 即可运行.

运行结果如下: 在这里插入图片描述 直接运行程序或者debug调试程序均会报错,具体如下:

Windows PowerShell 版权所有 (C) Microsoft Corporation。保留所有权利。 尝试新的跨平台 PowerShell https://aka.ms/pscore6 加载个人及系统配置文件用了 849 毫秒。 (base) PS F:\spiders4cxq\bilibili\download_vip_video> conda activate web_crawler (web_crawler) PS F:\spiders4cxq\bilibili\download_vip_video> & D:/Anaconda3/envs/web_crawler/python.exe f:/spiders4cxq/bilibili/download_vip_video/test.py Traceback (most recent call last): File "f:/spiders4cxq/bilibili/download_vip_video/test.py", line 4, in n = int(sys.argv[1])#从命令行读取一个参数赋给n,是str类型所以需要转换成int型 IndexError: list index out of range (web_crawler) PS F:\spiders4cxq\bilibili\download_vip_video> Windows PowerShell 版权所有 (C) Microsoft Corporation。保留所有权利。 尝试新的跨平台 PowerShell https://aka.ms/pscore6 加载个人及系统配置文件用了 952 毫秒。 (base) PS F:\spiders4cxq\bilibili\download_vip_video> conda activate web_crawler (web_crawler) PS F:\spiders4cxq\bilibili\download_vip_video> & 'D:\Anaconda3\envs\web_crawler\python.exe' 'c:\Users\chenxuqi\.vscode\extensions\ms-python.python-2021.6.944021595\pythonFiles\lib\python\debugpy\launcher' '61356' '--' 'f:\spiders4cxq\bilibili\download_vip_video\test.py' Traceback (most recent call last): File "f:\spiders4cxq\bilibili\download_vip_video\test.py", line 4, in n = int(sys.argv[1])#从命令行读取一个参数赋给n,是str类型所以需要转换成int型 IndexError: list index out of range (web_crawler) PS F:\spiders4cxq\bilibili\download_vip_video>

在这里插入图片描述在这里插入图片描述 在这里插入图片描述

解决方案如下:

1.点击左侧菜单栏 Run and Debug 图标,

在这里插入图片描述

2.点击 create a launch.json file

在这里插入图片描述

3.点击 Python文件 调试打开的Python文件

在这里插入图片描述

新建的launch.json文件: 在这里插入图片描述

4.打开新创建的launch.json文件, 在 configurations 内部, console 之后, 添加命令行参数,即: "args": ["11111","22222","88888"] 效果如下截图所示:

launch.json文件修改后的结果展示: 在这里插入图片描述

此后可以运行或者调试代码,以launch.json中设置的命令行参数执行:

点击 Run, 再点击Start Debugging或者点击Run Without Debugging. 也可以直接按F5或者Ctrl+F5进行调试或者运行.

在这里插入图片描述

运行结果截图如下: 在这里插入图片描述

调试结果截图如下: 在这里插入图片描述

在这里插入图片描述

也可以 Ctrl+Shift+` 新打开Terminal窗口, 输入: python test.py 55 44 88 执行程序,并且接收的命令行参数不受launch.json所影响.

执行结果截图如下: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3